package core.jogadores;

import java.util.Random;

import view.Jogador;
import core.jogo.Tabuleiro;
import core.redeNeural.RedeNeural;

public class JogadorMutante implements Jogador{
	
	private RedeNeural rede;
	
	public JogadorMutante(RedeNeural rede){
		this.rede = rede;
	}
	
	public int[] jogar(int[] casas){
		Tabuleiro tab = new Tabuleiro(casas);
		int indiceJogada = 0, i=0;
		double saida = 0, melhorJogada = 0;
		for(Tabuleiro t : tab.jogadasPossiveis()){			
			saida = rede.avaliaTabuleiro(t.getCasas());
			if(saida > melhorJogada){				
				indiceJogada = i;
				melhorJogada = saida;
			}				
			i++;	
		}
		if(tab.jogadasPossiveis().size() > 0)
			return tab.jogadasPossiveis().get(indiceJogada).getCasas();
		else
			return null;
	}

	public RedeNeural getRede() {
		return rede;
	}

	public void setRede(RedeNeural rede) {
		this.rede = rede;
	}

}
